package com.dc.system.mapper;

import com.dc.system.model.SysRole;
import com.dc.system.model.SysRoleOrgan;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description: SysRoleMapper
 * @Author: ChenXueLi
 * @Date: 2018-05-06 15:08
 */
public interface SysRoleMapper {

    /**
     * 添加一个角色
     * @param sysRole
     * @return
     */
    int addSysRole(SysRole sysRole);

    /**
     * 根据角色id删除一个角色
     * @param sysRole
     * @return
     */
    int deleteSysRoleById(SysRole sysRole);

    /**
     * 根据角色id查询角色
     * @param roleId
     * @return
     */
    SysRole getSysRoleById(int roleId);

    /**
     * 修改一个角色的信息
     * @param sysRole
     * @return
     */
    int updateSysRoleById(SysRole sysRole);

    /**
     * 分页查询角色
     * @param map
     * @return
     */
    List<SysRole> getSysRoles(Map map);

    /**
     * 查询出单位与部门的连接
     * @param roleId
     * @param organId
     * @return
     */
    List<SysRoleOrgan> getSysRoleOrgans(@Param("roleId")Integer roleId, @Param("organId")Integer organId);

    /**
     * 新增角色与单位绑定
     * @param sysRoleOrgan
     * @return
     */
    int addSysRoleOrgan(SysRoleOrgan sysRoleOrgan);

    /**
     * 删除角色与单位的绑定
     * @param roleId
     * @param organId
     * @return
     */
    int deleteSysRoleOrgan(@Param("roleId")Integer roleId, @Param("organId")Integer organId);

    /**
     * 根据绑定的单位查询出角色
     * @param organId
     * @return
     */
    List<SysRole> getSysRolesByOrganId(@Param("organId")Integer organId);

}
